Exploratory analysis of series with a potential to nowcast GDP
Goals
- Plot series used in the Index of the Canadian Economic Dashboard and COVID-19
- Identify data tables and vectors for the dashboard
Preprocessing
colnames(vectors) <- sapply(colnames(vectors), tolower)
colnames(vectors)
[1] "decimals" "value" "ref_date" "releasetime" "symbol" "frequencycode"
[7] "scalar_id" "coordinate" "vector"
vectors$ref_date <- as.Date(vectors$ref_date)
head(vectors)
vector_names[1]
[1] "v65201210"
length(vector_names)
[1] 16
indicators1 <- vector(length = 16)
for (i in 1:length(vector_names)) {
indicator <- filter(vectors, vector == vector_names[i])
ref_value <- indicator$value[indicator$ref_date == as.Date("2019-12-01")]
indicator$value_index <- 100. * indicator$value / ref_value
if (i == 1) {
indicators <- indicator
}
else {
indicators <- rbind(indicators, indicator)
}
}
head(indicators)
indicators$Descr <- sapply(indicators$vector, function(x) {
vector_descr[x][[1]]
})
Canadian Economic Dashboard Visualization
p <- ggplot(indicators, aes(x = ref_date, y = value_index)) +
geom_line((aes(group = Descr, color = Descr))) +
scale_x_date(date_breaks = "3 month", date_labels = "%b %Y",
limits = as.Date(c("2019-01-01", "2020-09-01"))) +
scale_y_continuous(breaks = seq(0, 180, 20), limits = c(0, 180)) +
labs(title = "Index, December 2019 = 100", x = "", y = "")
ggplotly(p)
Convert Dashboard series into a tsibble for forecasting
- Start Date = January, 2000
head(dashboard)
Plot series
as_tsibble(filter(indicators, ref_date >= "2000-01-01")%>%select(value,ref_date,Descr)%>%mutate(Month=yearmonth(ref_date),Series=Descr)%>%select(Month,value,Series),index=Month,key=Series)%>%mutate(Date=as.Date(Month))->SeriesData1
p <- ggplot(SeriesData1, aes(x = Date, y = value)) +
geom_line((aes(group = Series, color = Series))) +
scale_x_date(date_breaks = "2 year", date_labels = "%Y",
limits = as.Date(c("2000-01-01", "2020-09-01"))) +
labs(title = "Series for Forecasting", x = "", y = "")
ggplotly(p)
LS0tDQp0aXRsZTogIlRlc3RTZXR1cCINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KIyBvdXRwdXQ6IHJtYXJrZG93bjo6Z2l0aHViX2RvY3VtZW50DQojIG91dHB1dDogDQojICBodG1sX2RvY3VtZW50Og0KIyAgICBrZWVwX21kOiB0cnVlDQotLS0NCg0KIyBFeHBsb3JhdG9yeSBhbmFseXNpcyBvZiBzZXJpZXMgd2l0aCBhIHBvdGVudGlhbCB0byBub3djYXN0IEdEUA0KDQojIyMgR29hbHMNCg0KKiBQbG90IHNlcmllcyB1c2VkIGluIHRoZSBJbmRleCBvZiB0aGUgQ2FuYWRpYW4gRWNvbm9taWMgRGFzaGJvYXJkIGFuZCBDT1ZJRC0xOQ0KKiBJZGVudGlmeSBkYXRhIHRhYmxlcyBhbmQgdmVjdG9ycyBmb3IgdGhlIGRhc2hib2FyZA0KDQojIyMgQ29tbWVudHMNCg0KKiBUaW1lIHNlcmllcyBmcm9tIENhbmFkaWFuIEVjb25vbWljIERhc2hib2FyZCBhbmQgQ09WSUQtMTkgYXQgaHR0cHM6Ly93d3cxNTAuc3RhdGNhbi5nYy5jYS9uMS9wdWIvNzEtNjA3LXgvNzEtNjA3LXgyMDIwMDA5LWVuZy5odG0NCiogVGhlcmUgYXJlIDE2IGluZGljYXRvcnMNCg0KDQpgYGB7cn0NCnN1cHByZXNzTWVzc2FnZXMobGlicmFyeShjYW5zaW0pKQ0Kc3VwcHJlc3NNZXNzYWdlcyhsaWJyYXJ5KGdncGxvdDIpKQ0Kc3VwcHJlc3NNZXNzYWdlcyhsaWJyYXJ5KGRwbHlyKSkNCnN1cHByZXNzTWVzc2FnZXMobGlicmFyeShwbG90bHkpKQ0Kc291cmNlKCIuLi8uLi9zcmMvdXRpbHMuUiIpDQpgYGANCg0KIyMgRXh0cmFjdCB0aGUgRGF0YQ0KYGBge3J9DQp2ZWN0b3JfbmFtZXMgPC0gYygNCiAgInY2NTIwMTIxMCIsICJ2NDE2OTA5NzMiLCAidjIwNjI4MDkiLCAidjEwMDE4MjcyNjUiLA0KICAidjEwMDE4MjY2NTMiLCAidjUyMzY3MDk3IiwgInY0MzkxNTA1IiwgInY4MDA0NTAiLA0KICAidjMyODU4ODU4IiwgInYzMjg1ODg2NSIsICJ2MzI4NTg4NzIiLCAidjc0ODY5IiwgInYxMjk0NDkiLA0KICAidjEyOTQ2MCIsICJ2MTI5NDcyIiwgInYxMjk0ODIiDQopDQpsZW5ndGgodmVjdG9yX25hbWVzKQ0KYGBgDQoNCmBgYHtyfQ0KdmVjdG9yX2Rlc2NyIDwtIGMoDQogICJSZWFsR0RQIiwgIkNQSSIsICJFbXBsb3ltZW50IFtwZXJzXSIsICJJbnQuIG1lcmNoYW5kaXNlIHRyYWRlIEV4cC4gWyRdIiwNCiAgIkludC4gbWVyY2hhbmRpc2UgdHJhZGUgSW1wLiBbJF0iLCAiUmV0YWlsIFNhbGVzIFskXSIsICJob3VycyB3b3JrZWQiLA0KICAiTWFudWZhY3QuIHNhbGVzIFskXSIsICJBaXJjcmFmdCBkb21lc3RpYyBbI10iLCAiQWlyY3JhZnQgdHJhbnNib3JkZXIgWyNdIiwNCiAgIkFpcmNyYWZ0IGludCBvdGhlciBbI10iLCAiUmFpbHdheSBjYXJsb2FkcyBbdG9uc10iLCAiVHJhdmVsZXJzIFVTIFtwZXJzXSIsDQogICJUcmF2ZWxlcnMgb3RoZXIgY291bnRyeSBbcGVyc10iLCAiQ0EgcmVzaWRlbnQgVVMgW3BlcnNdIiwNCiAgIkNBcmVzaWRlbnQgb3RoZXIgY291bnRyeSBbcGVyc10iDQopDQpuYW1lcyh2ZWN0b3JfZGVzY3IpIDwtIHZlY3Rvcl9uYW1lcw0KYGBgDQoNCkkgZXhwZWN0IHRoaXMgZGF0ZSB0byBiZSBiZWZvcmUgdGhlIHN0YXJ0IG9mIGFsbCB0aW1lIHNlcmllcy92ZWN0b3JzLg0KYGBge3J9DQpzdGFydF9kYXRlIDwtICIxOTgwLTAxLTAxIg0KYGBgDQoNClJldHJpZXZlIGFsbCB2ZWN0b3JzLiBUaGV5IGFyZSBjb25jYXRlbmF0ZWQgYWxvbmcgYXhpcyAwLg0KYGBge3J9DQp2ZWN0b3JzIDwtIGdldF9jYW5zaW1fdmVjdG9yKHZlY3Rvcl9uYW1lcywgc3RhcnRfZGF0ZSkNCmRpbSh2ZWN0b3JzKQ0KYGBgDQoNCg0KIyMgUHJlcHJvY2Vzc2luZw0KDQoNCmBgYHtyfQ0KY29sbmFtZXModmVjdG9ycykgPC0gc2FwcGx5KGNvbG5hbWVzKHZlY3RvcnMpLCB0b2xvd2VyKQ0KY29sbmFtZXModmVjdG9ycykNCmBgYA0KDQpgYGB7cn0NCnZlY3RvcnMkcmVmX2RhdGUgPC0gYXMuRGF0ZSh2ZWN0b3JzJHJlZl9kYXRlKQ0KYGBgDQoNCg0KYGBge3J9DQpoZWFkKHZlY3RvcnMpDQpgYGANCg0KYGBge3J9DQp2ZWN0b3JfbmFtZXNbMV0NCmBgYA0KDQpgYGB7cn0NCmxlbmd0aCh2ZWN0b3JfbmFtZXMpDQpgYGANCg0KDQpgYGB7cn0NCmluZGljYXRvcnMxIDwtIHZlY3RvcihsZW5ndGggPSAxNikNCmZvciAoaSBpbiAxOmxlbmd0aCh2ZWN0b3JfbmFtZXMpKSB7DQogIGluZGljYXRvciA8LSBmaWx0ZXIodmVjdG9ycywgdmVjdG9yID09IHZlY3Rvcl9uYW1lc1tpXSkNCiAgcmVmX3ZhbHVlIDwtIGluZGljYXRvciR2YWx1ZVtpbmRpY2F0b3IkcmVmX2RhdGUgPT0gYXMuRGF0ZSgiMjAxOS0xMi0wMSIpXQ0KICBpbmRpY2F0b3IkdmFsdWVfaW5kZXggPC0gMTAwLiAqIGluZGljYXRvciR2YWx1ZSAvIHJlZl92YWx1ZQ0KICBpZiAoaSA9PSAxKSB7DQogICAgaW5kaWNhdG9ycyA8LSBpbmRpY2F0b3INCiAgICB9DQogIGVsc2Ugew0KICAgIGluZGljYXRvcnMgPC0gcmJpbmQoaW5kaWNhdG9ycywgaW5kaWNhdG9yKQ0KICAgIH0NCn0NCmBgYA0KDQpgYGB7cn0NCmhlYWQoaW5kaWNhdG9ycykNCmBgYA0KDQpgYGB7cn0NCmluZGljYXRvcnMkRGVzY3IgPC0gc2FwcGx5KGluZGljYXRvcnMkdmVjdG9yLCBmdW5jdGlvbih4KSB7DQogIHZlY3Rvcl9kZXNjclt4XVtbMV1dDQp9KQ0KYGBgDQoNCg0KDQoNCiMjIENhbmFkaWFuIEVjb25vbWljIERhc2hib2FyZCBWaXN1YWxpemF0aW9uDQoNCmBgYHtyIGRhc2hib2FyZCwgZmlnLmhlaWdodD01LGZpZy53aWR0aD0xMX0NCnAgPC0gZ2dwbG90KGluZGljYXRvcnMsIGFlcyh4ID0gcmVmX2RhdGUsIHkgPSB2YWx1ZV9pbmRleCkpICsNCiAgZ2VvbV9saW5lKChhZXMoZ3JvdXAgPSBEZXNjciwgY29sb3IgPSBEZXNjcikpKSArDQogIHNjYWxlX3hfZGF0ZShkYXRlX2JyZWFrcyA9ICIzIG1vbnRoIiwgZGF0ZV9sYWJlbHMgPSAiJWIgJVkiLA0KICAgICAgICAgICAgICAgbGltaXRzID0gYXMuRGF0ZShjKCIyMDE5LTAxLTAxIiwgIjIwMjAtMDktMDEiKSkpICsNCiAgc2NhbGVfeV9jb250aW51b3VzKGJyZWFrcyA9IHNlcSgwLCAxODAsIDIwKSwgbGltaXRzID0gYygwLCAxODApKSArDQogIGxhYnModGl0bGUgPSAiSW5kZXgsIERlY2VtYmVyIDIwMTkgPSAxMDAiLCB4ID0gIiIsIHkgPSAiIikNCmdncGxvdGx5KHApDQpgYGANCiMjIENvbnZlcnQgRGFzaGJvYXJkIHNlcmllcyBpbnRvIGEgdHNpYmJsZSBmb3IgZm9yZWNhc3RpbmcNCg0KKiBTdGFydCBEYXRlID0gSmFudWFyeSwgMjAwMA0KDQpgYGB7ciwgZWNobz1GQUxTRX0NCmZpbHRlcihpbmRpY2F0b3JzLERlc2NyPT0iUmVhbEdEUCIgJiByZWZfZGF0ZSA+PSAiMjAwMC0wMS0wMSIpJT4lc2VsZWN0KHZhbHVlLHJlZl9kYXRlKSU+JW11dGF0ZShSZWFsR0RQPXZhbHVlLCBNb250aD15ZWFybW9udGgocmVmX2RhdGUpKSU+JXNlbGVjdChNb250aCxSZWFsR0RQKS0+eDENCmZpbHRlcihpbmRpY2F0b3JzLERlc2NyPT0iQ1BJIiAmIHJlZl9kYXRlID49ICIyMDAwLTAxLTAxIiklPiVzZWxlY3QodmFsdWUscmVmX2RhdGUpJT4lbXV0YXRlKENQST12YWx1ZSwgTW9udGg9eWVhcm1vbnRoKHJlZl9kYXRlKSklPiVzZWxlY3QoTW9udGgsQ1BJKS0+eDINCmRhc2hib2FyZDwtZnVsbF9qb2luKHgxLHgyLGJ5PSJNb250aCIpDQpmaWx0ZXIoaW5kaWNhdG9ycyxEZXNjcj09IkludC4gbWVyY2hhbmRpc2UgdHJhZGUgRXhwLiBbJF0iICYgcmVmX2RhdGUgPj0gIjIwMDAtMDEtMDEiKSU+JXNlbGVjdCh2YWx1ZSxyZWZfZGF0ZSklPiVtdXRhdGUoRXhwb3J0PXZhbHVlLCBNb250aD15ZWFybW9udGgocmVmX2RhdGUpKSU+JXNlbGVjdChNb250aCxFeHBvcnQpLT54Mw0KZGFzaGJvYXJkPC1mdWxsX2pvaW4oZGFzaGJvYXJkLHgzLGJ5PSJNb250aCIpDQpmaWx0ZXIoaW5kaWNhdG9ycyxEZXNjcj09IkludC4gbWVyY2hhbmRpc2UgdHJhZGUgSW1wLiBbJF0iICYgcmVmX2RhdGUgPj0gIjIwMDAtMDEtMDEiKSU+JXNlbGVjdCh2YWx1ZSxyZWZfZGF0ZSklPiVtdXRhdGUoSW1wb3J0PXZhbHVlLCBNb250aD15ZWFybW9udGgocmVmX2RhdGUpKSU+JXNlbGVjdChNb250aCxJbXBvcnQpLT54NA0KZGFzaGJvYXJkPC1mdWxsX2pvaW4oZGFzaGJvYXJkLHg0LGJ5PSJNb250aCIpDQpmaWx0ZXIoaW5kaWNhdG9ycyxEZXNjcj09IlJldGFpbCBTYWxlcyBbJF0iICYgcmVmX2RhdGUgPj0gIjIwMDAtMDEtMDEiKSU+JXNlbGVjdCh2YWx1ZSxyZWZfZGF0ZSklPiVtdXRhdGUoUmV0YWlsPXZhbHVlLCBNb250aD15ZWFybW9udGgocmVmX2RhdGUpKSU+JXNlbGVjdChNb250aCxSZXRhaWwpLT54NQ0KZGFzaGJvYXJkPC1mdWxsX2pvaW4oZGFzaGJvYXJkLHg1LGJ5PSJNb250aCIpDQpmaWx0ZXIoaW5kaWNhdG9ycyxEZXNjcj09ImhvdXJzIHdvcmtlZCIgJiByZWZfZGF0ZSA+PSAiMjAwMC0wMS0wMSIpJT4lc2VsZWN0KHZhbHVlLHJlZl9kYXRlKSU+JW11dGF0ZShIb3Vycz12YWx1ZSwgTW9udGg9eWVhcm1vbnRoKHJlZl9kYXRlKSklPiVzZWxlY3QoTW9udGgsSG91cnMpLT54Ng0KZGFzaGJvYXJkPC1mdWxsX2pvaW4oZGFzaGJvYXJkLHg2LGJ5PSJNb250aCIpDQpmaWx0ZXIoaW5kaWNhdG9ycyxEZXNjcj09Ik1hbnVmYWN0LiBzYWxlcyBbJF0iICYgcmVmX2RhdGUgPj0gIjIwMDAtMDEtMDEiKSU+JXNlbGVjdCh2YWx1ZSxyZWZfZGF0ZSklPiVtdXRhdGUoTWFudWY9dmFsdWUsIE1vbnRoPXllYXJtb250aChyZWZfZGF0ZSkpJT4lc2VsZWN0KE1vbnRoLE1hbnVmKS0+eDcNCmRhc2hib2FyZDwtZnVsbF9qb2luKGRhc2hib2FyZCx4NyxieT0iTW9udGgiKQ0KZmlsdGVyKGluZGljYXRvcnMsRGVzY3I9PSJSYWlsd2F5IGNhcmxvYWRzIFt0b25zXSIgJiByZWZfZGF0ZSA+PSAiMjAwMC0wMS0wMSIpJT4lc2VsZWN0KHZhbHVlLHJlZl9kYXRlKSU+JW11dGF0ZShSYWlsPXZhbHVlLCBNb250aD15ZWFybW9udGgocmVmX2RhdGUpKSU+JXNlbGVjdChNb250aCxSYWlsKS0+eDgNCmRhc2hib2FyZDwtZnVsbF9qb2luKGRhc2hib2FyZCx4OCxieT0iTW9udGgiKQ0KZGFzaGJvYXJkPC1hc190c2liYmxlKGRhc2hib2FyZCxpbmRleD1Nb250aCkNCnJtKHgxLHgyLHgzLHg0LHg1LHg2LHg3LHg4LGkpDQpgYGANCg0KYGBge3J9DQpoZWFkKGRhc2hib2FyZCwgZWNobz1UUlVFKQ0KYGBgDQoNCg0KDQoNCiMjIFBsb3Qgc2VyaWVzDQoNCmBgYHtyIEZvcmVjYXN0aW5nIFNlcmllcyxmaWcuaGVpZ2h0PTUsZmlnLndpZHRoPTExfQ0KYXNfdHNpYmJsZShmaWx0ZXIoaW5kaWNhdG9ycywgcmVmX2RhdGUgPj0gIjIwMDAtMDEtMDEiKSU+JXNlbGVjdCh2YWx1ZSxyZWZfZGF0ZSxEZXNjciklPiVtdXRhdGUoTW9udGg9eWVhcm1vbnRoKHJlZl9kYXRlKSxTZXJpZXM9RGVzY3IpJT4lc2VsZWN0KE1vbnRoLHZhbHVlLFNlcmllcyksaW5kZXg9TW9udGgsa2V5PVNlcmllcyklPiVtdXRhdGUoRGF0ZT1hcy5EYXRlKE1vbnRoKSktPlNlcmllc0RhdGExDQpwIDwtIGdncGxvdChTZXJpZXNEYXRhMSwgYWVzKHggPSBEYXRlLCB5ID0gdmFsdWUpKSArDQogICAgIGdlb21fbGluZSgoYWVzKGdyb3VwID0gU2VyaWVzLCBjb2xvciA9IFNlcmllcykpKSArDQogICAgIHNjYWxlX3hfZGF0ZShkYXRlX2JyZWFrcyA9ICIyIHllYXIiLCBkYXRlX2xhYmVscyA9ICIlWSIsDQogICAgICAgICAgICAgICAgICBsaW1pdHMgPSBhcy5EYXRlKGMoIjIwMDAtMDEtMDEiLCAiMjAyMC0wOS0wMSIpKSkgKw0KICAgICBsYWJzKHRpdGxlID0gIlNlcmllcyBmb3IgRm9yZWNhc3RpbmciLCB4ID0gIiIsIHkgPSAiIikNCmdncGxvdGx5KHApDQpgYGA=
Comments